package test01.inner.demo03;

/**
 * @author ZQX
 * @date 2025-04-01
 */
public class Outer {

    // 成员变量
    private String msg;

    // 成员方法
    public void hello() {

        // 局部变量
        String name;

        // 局部内部类 - 注意：局部内部类只能在方法内实例化
        class Inner {
            // 1.内部类的成员变量
            private String name;

            // 2.内部类的成员方法
            public void eat() {
                System.out.println("吃");
            }

            public static void test() {
                System.out.println("静态方法");
            }
        }

        // 实例化局部内部类对象
        Inner i = new Inner();
        i.eat();
    }


    public Object createInner() {

        System.out.println("实现一些相关的业务处理。。");

        // 局部内部类 - 注意：局部内部类只能在方法内实例化
        class Inner {
            // 1.内部类的成员变量
            private String name;

            // 2.内部类的成员方法
            public void eat() {
                System.out.println("吃");
            }

            public static void test() {
                System.out.println("静态方法");
            }
        }

        // 实例化局部内部类对象
        // Inner i = new Inner();
        return new Inner();
    }


    /**
     * 在外部类内，使用内部类 - 简单
     */
    public void test() {
        // 错误：局部内部类与局部变量一样，只作用于当前方法
        // Inner i = new Inner();
        // i.eat();
    }

}
